#pragma once

#include "Game/Scene/GameScene.h"
#include "Game/Process/CoordinateProcess.h"
#include "LocalProcess.h"
#include "GBufferProcess.h"

class LocalScene : public GameScene
{
public:

	virtual void OnImgui() override;

protected:

	virtual void OnInit() override;


	virtual void OnExit() override;


	virtual void OnTick(float deltaTime) override;

protected:

	CoordinateProcess* mCoordinateProcess;

	GBufferProcess* mGBufferProcess;

public:

	std::vector<LocalEntity*> mOpaqueEntitys;

	std::vector<GBufferPushConstants> mGBufferPushConstants;

	float mRoughnessMultiplier;

	PerFrameUbo mPerFrameUbo;

	std::vector<glm::vec2> mJitterSamples;

	glm::vec2 mPrevJitter;

	glm::vec2 mCurrentJitter;

	int32 mGBufferIndex;

};

